The invention relates to power management in computer systems, and in particular, to a method and system for regulating power consumption in computer systems through system management bus (SMBUS).
Power consumption is an important concern in computer systems, particularly in mobile computers using batteries. The Advanced Configuration and Power Interface (ACPI) standard, implemented in computer systems for managing power consumption, provides architecture shown in FIG. 1.
ACPI is implemented through cooperation between hardware and software. According to the design, power management is accomplished by delivering commands from the operating system to the hardware through drivers and the system management bus (SMBUS), and power consumption reduced by decreasing the operating voltage and frequency accordingly. FIG. 1 shows a conventional system architecture comprising a software layer 101, a hardware layer 103 and an ACPI layer 112 therebetween. The operating system 104 in software layer 101 comprises an Operating System Power Management (OSPM) API, labeled 106 in the figure. The OSPM 106 is executed to assess utilization of an application 102, and regulate power consumption accordingly. Thus a corresponding power management command is delivered to the ACPI layer 112 through device drivers 108 and ACPI driver 110 and is transmitted to the hardware layer 103 through SMBUS 128.
The ACPI layer 112 architecture comprising programs, control tables and ACPI registers resides between the hardware and software layers. In hardware layer 103, the power management command is received by the Southbridge 124, and transferred to voltage controller 122 and frequency generator 126 through System Management Bus (SMBUS) 128 to control voltage and frequencies. Based on the power management command, the voltage controller 122 can adjust operating voltage of Central Processing Unit (CPU) 114, Accelerated Graphics Port (AGP) 116 and memory 120, and the frequency generator 126 generates corresponding operating frequencies for each of the system components.
When hardware performance is decreased to reduce power consumption, however, software-driven power management efficiency is compromised and reliability suffers, due to the software's is reliance on hardware for execution. For example, when CPU 114 enters state C3, data in CPU 114 is lost, data in the cache loses consistency, and the system is unable to handle master requests and interrupt requests. A considerable number of clock cycles are required to recover from the state C3, such that the software power management system is unable to reflect hardware utilization in real-time, thus reducing power consumption efficiency.